<?php

/**
 * Действие по умолчанию модуля статических страниц.
 *
 */
class Static_Action_Default extends Kernel_Action_Abstract 
{
    
    /**
    * Module option
    * 
    * @var integer
    */
    public $option;

    /**
     * Путь к файлу шаблона.
     *
     * @var string
     */
    protected $_template = '_contents.tpl';

    /**
     * Реализация обработки пользовательского запроса.
     *
     */
    protected function _process() 
    {
        if (!count($row = $this->_getContents())) {
            return;
        }
        
        list($title, $contents) = array_values($row);
        
        Application::getResponse()
            ->setTitle($title)
            ->assign(array('contents' => $contents, 'title' => $title));
    }

    /**
     * Возвращает содержимое текущей страницы.
     *
     * @return  array
     */
    protected function _getContents() 
    {
        $query = '
            SELECT 
                   `c`.`title`, 
                   `c`.`contents`
              FROM 
                   `system_contents` `c` 
              JOIN 
                   `static` `s` ON `s`.`contents_id` = `c`.`id` 
             WHERE 
                   `c`.`id` = ' 
                   // if do not bring value to INTEGER there will be SQL-error
                   // in case of NULL value
                   . (int)$this->option;
        return database::fetchRow($query);
    }
    
}
